#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//int oneself_dog(int arr[], int sz)
//{
//	int ret = 0;
//	int i = 0;
//	for (i = 0; i < sz; i++)
//	{
//		ret ^= arr[i];
//	}
//		return ret;
//}
//int main()
//{
//	int arr[] = { 1,2,3,4,5,1,2,3,4 };
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	int dog = oneself_dog(arr, sz);
//	printf("%d", dog);
//	return 0;
//}







//
//int NumberOf1(int n)
//{
//	int count = 0;
//	while (n)
//	{
//		n = n & (n - 1);
//		count++;
//	}
//	return count;
//}
//
//int main()
//{
//	int m = 0;
//	scanf("%d", &m);
//	int h = NumberOf1(m);
//	printf("%d",h);
//	return 0;
//}



//int  Printbit(int num)
//{
//	for (int i = 31; i >= 1; i -= 2)
//	{
//		printf("%d ", (num >> i) & 1);
//	}
//	printf("\n");
//
//	for (int i = 30; i >= 0; i -= 2)
//	{
//		printf("%d ", (num >> i) & 1);
//	}
//	printf("\n");
//	return 0;
//}
//
//int main()
//{
//	int m = 0;
//	
//	scanf("%d", &m);
//	printf("%zd", Printbit(m));
//
//	return 0;
//}





int sch(int m, int n)
{
	int tmp = m ^ n;
	int count = 0;
	while (tmp)
	{
		tmp = tmp & (tmp - 1);
		count++;
	}
	return count;
}
int main()
{
	int m = 0;
	int n = 0;
	while (scanf("%d %d", &m, &n) == 2)
	{
		int h = sch(m, n);
		printf("%d", h);
	}
	return 0;
}
